package reflect.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * java提供了一些元注解，这些注解是用来说明当前我们定义的注解的一些作用
 * @Target:该注解用于说明我们当前定义的注解可以被应用在什么位置，如果不指定，所有可以被应用的
 *          地方均可以使用注解
 *          ElementType.TYPE:表示该注解可以应用在类上
 *          ElementType.METHOD:表示该注解可以应用在方法上
 *          ElementType.FIELD:表示该注解可以应用在属性上
 *          ElementType.PARAMETER:表示该注解可以应用在方法的参数上
 *          ElementType.CONSTRUCTOR:表示该注解可以应用在构造器上
 *          ElementType.LOCAL_VARIABLE:表示该注解可以应用在局部变量上
 *
 */
@Target({ElementType.TYPE, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface AutoRunClass {

}
